rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
↳ QTRS
↳ DependencyPairsProof
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
REV22(x, cons2(y, l)) -> REV22(y, l)
REV1(cons2(x, l)) -> REV22(x, l)
REV1(cons2(x, l)) -> REV12(x, l)
REV12(x, cons2(y, l)) -> REV12(y, l)
REV22(x, cons2(y, l)) -> REV1(cons2(x, rev22(y, l)))
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
REV22(x, cons2(y, l)) -> REV22(y, l)
REV1(cons2(x, l)) -> REV22(x, l)
REV1(cons2(x, l)) -> REV12(x, l)
REV12(x, cons2(y, l)) -> REV12(y, l)
REV22(x, cons2(y, l)) -> REV1(cons2(x, rev22(y, l)))
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
REV12(x, cons2(y, l)) -> REV12(y, l)
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
REV12(x, cons2(y, l)) -> REV12(y, l)
POL( REV12(x1, x2) ) = x2
POL( cons2(x1, x2) ) = x1 + x2 + 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
REV22(x, cons2(y, l)) -> REV22(y, l)
REV1(cons2(x, l)) -> REV22(x, l)
REV22(x, cons2(y, l)) -> REV1(cons2(x, rev22(y, l)))
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
REV22(x, cons2(y, l)) -> REV22(y, l)
REV22(x, cons2(y, l)) -> REV1(cons2(x, rev22(y, l)))
Used ordering: Polynomial Order [17,21] with Interpretation:
REV1(cons2(x, l)) -> REV22(x, l)
POL( rev22(x1, x2) ) = x2
POL( REV22(x1, x2) ) = x2
POL( rev1(x1) ) = x1
POL( rev12(x1, x2) ) = max{0, x1 - 1}
POL( REV1(x1) ) = max{0, x1 - 1}
POL( 0 ) = 1
POL( s1(x1) ) = x1
POL( nil ) = 1
POL( cons2(x1, x2) ) = x2 + 1
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
rev22(x, nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
REV1(cons2(x, l)) -> REV22(x, l)
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))